package com.yy.main.app.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.github.pagehelper.PageInfo;
import com.yy.pojo.base.TMenu;
import com.yy.pojo.base.TMessage;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 菜单服务类
 * </p>
 *
 * @author 杨阳
 * @since 2017-09-20
 */
public interface IMenuService {

    /**
     * <p>
     * 根据菜单id查询出与之关联的消息列表
     * </p>
     *
     * @param page   当前页
     * @param limit  每页显示条数
     * @param menuid 菜单id
     * @return {@link Page}<Message>
     * @author 杨阳
     * @since 2017年9月26日
     */
    PageInfo selectMessageByMenuId(Integer page, Integer limit, String menuid);

    /**
     * <p>
     * 根据菜单id查询出与之关联的消息列表
     * </p>
     *
     * @param menuid 菜单id
     * @return {@link Page}<Message>
     * @author 杨阳
     * @since 2017年9月26日
     */
    List<TMessage> selectMessageByMenuId(String menuid);

    /**
     * <p>
     * 增加或修改菜单
     * </p>
     *
     * @param menu  菜单实体
     * @param msgid 与菜单关联的消息id字符串以逗号分隔
     * @return {@link Map}<String, Object>
     * @author 杨阳
     * @since 2017年9月26日
     */
    Map<String, Object> saveMenu(TMenu menu, String msgid);

    /**
     * <p>
     * 删除菜单
     * </p>
     *
     * @param id 菜单id
     * @return {@link Map}<String, Object>
     * @author 杨阳
     * @since 2017年9月22日
     */
    Map<String, Object> delMenu(String id);

    /**
     * <p>
     * 将菜单同步到微信
     * </p>
     *
     * @param userid 操作人，暂时没啥用
     * @return {@link Map}<String, Object>
     */
    Map<String, Object> syncToWeChat(String userid);

    /**
     * <p>
     * 将菜单同步到支付宝
     * </p>
     *
     * @param userid 操作人，暂时没啥用
     * @return {@link Map}<String, Object>
     */
    Map<String, Object> syncToAlipay(String userid);
}
